import 'package:flutter/material.dart';

/// 定义全局色彩方案（基于用户提供的配色方案）
/// Global color scheme definition (Based on user provided color scheme)
class AppColors {
  // 主色调 - Primary colors (基于用户配色)
  static const Color primary = Color(0xFFF79F77); // 珊瑚橙 - Coral Orange
  static const Color primaryDark = Color(0xFFE8845C); // 深珊瑚橙 - Deep Coral Orange
  static const Color primaryLight = Color(0xFFFBB499); // 浅珊瑚橙 - Light Coral Orange
  
  // 辅助色 - Secondary colors
  static const Color secondary = Color(0xFF80BEF5); // 天空蓝 - Sky Blue
  static const Color secondaryDark = Color(0xFF5BA3E8); // 深天空蓝 - Deep Sky Blue
  static const Color secondaryLight = Color(0xFFA6D1F8); // 浅天空蓝 - Light Sky Blue
  
  // 强调色 - Accent colors
  static const Color accent = Color(0xFFF6D58A); // 温暖金 - Warm Gold
  static const Color accentDark = Color(0xFFF2C866); // 深温暖金 - Deep Warm Gold
  static const Color accentLight = Color(0xFFF9E2A8); // 浅温暖金 - Light Warm Gold
  
  // 深色 - Dark color
  static const Color dark = Color(0xFF010101); // 纯黑 - Pure Black
  static const Color darkSoft = Color(0xFF1A1A1A); // 柔和黑 - Soft Black
  static const Color darkMedium = Color(0xFF2D2D2D); // 中等黑 - Medium Black

  // 背景色 - Background colors
  static const Color background = Color(0xFFFFFBF7); // 温暖白色背景 - Warm white background
  static const Color backgroundLight = Color(0xFFFFFEFC); // 极浅温暖背景 - Very light warm background
  static const Color backgroundCard = Color(0xFFFFFFFF); // 卡片背景 - Card background
  static const Color surface = Color(0xFFFFFAF5); // 表面色 - Surface color

  // 文字颜色 - Text colors
  static const Color textPrimary = Color(0xFF010101); // 主要文字 - Primary text
  static const Color textSecondary = Color(0xFF4A4A4A); // 次要文字 - Secondary text
  static const Color textLight = Color(0xFFFFFFFF); // 白色文字 - White text
  static const Color textHeading = Color(0xFF010101); // 标题文字 - Heading text
  static const Color textBody = Color(0xFF2D2D2D); // 正文文字 - Body text
  static const Color textHint = Color(0xFF8A8A8A); // 提示文字 - Hint text
  static const Color textOnPrimary = Color(0xFFFFFFFF); // 主色上的文字 - Text on primary
  static const Color textOnSecondary = Color(0xFFFFFFFF); // 辅色上的文字 - Text on secondary

  // 功能色 - Functional colors (基于主配色调整)
  static const Color success = Color(0xFF4CAF50); // 成功色 - Success color
  static const Color warning = Color(0xFFF6D58A); // 警告色(使用温暖金) - Warning color
  static const Color error = Color(0xFFE57373); // 错误色 - Error color
  static const Color info = Color(0xFF80BEF5); // 信息色(使用天空蓝) - Info color

  // 边框色 - Border colors
  static const Color borderSoft = Color(0xFFE8E8E8); // 柔和边框 - Soft border
  static const Color borderLight = Color(0xFFF0F0F0); // 浅色边框 - Light border
  static const Color borderMedium = Color(0xFFD0D0D0); // 中等边框 - Medium border
  static const Color shadow = Color(0x1A000000); // 阴影色 - Shadow color

  // 渐变色 - Gradient colors
  static const List<Color> gradientPrimary = [
    Color(0xFFF79F77), // 珊瑚橙
    Color(0xFFE8845C), // 深珊瑚橙
  ];

  static const List<Color> gradientSecondary = [
    Color(0xFF80BEF5), // 天空蓝
    Color(0xFF5BA3E8), // 深天空蓝
  ];

  static const List<Color> gradientAccent = [
    Color(0xFFF6D58A), // 温暖金
    Color(0xFFF2C866), // 深温暖金
  ];

  static const List<Color> gradientWarm = [
    Color(0xFFF79F77), // 珊瑚橙
    Color(0xFFF6D58A), // 温暖金
  ];

  static const List<Color> gradientCool = [
    Color(0xFF80BEF5), // 天空蓝
    Color(0xFFA6D1F8), // 浅天空蓝
  ];

  static const List<Color> gradientSunset = [
    Color(0xFFF79F77), // 珊瑚橙
    Color(0xFF80BEF5), // 天空蓝
    Color(0xFFF6D58A), // 温暖金
  ];

  // 新增渐变色 - Additional gradient colors
  static const List<Color> gradientPurple = [
    Color(0xFF9C27B0), // 紫色
    Color(0xFFE91E63), // 粉红色
  ];

  static const List<Color> gradientGreen = [
    Color(0xFF4CAF50), // 绿色
    Color(0xFF8BC34A), // 浅绿色
  ];

  // 兼容性别名 - Compatibility aliases
  static const Color primaryCobalt = primary;
  static const Color primaryDarkBlue = primaryDark;
  static const Color accentGold = accent;
  static const Color accentVermilion = primaryDark;
  static const Color accentElectric = secondary;
  static const Color accentAurora = secondaryLight;
  static const Color textSecondaryLight = textSecondary;
}
